home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-13 / hexedit.zip / XE.DOC < prev    next >
Text File  |  1991-11-11  |  28KB  |  627 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.                            ≡■≡  heXEdit  ≡■≡
  9.  
  10.  
  11.  
  12.                               Version 3.0
  13.  
  14.                                 11-11-91
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.                              Robert Stuntz
  24.                        1747 Crystal Lane   #610
  25.                        Mt. Prospect, IL.  60056
  26.  
  27.  
  28.                            GEnie : R.STUNTZ
  29.  
  30.  
  31.  
  32.                               DISCLAIMER
  33.  
  34.        THIS SOFTWARE AND MANUAL ARE DISTRIBUTED "AS IS" AND WITHOUT
  35.        WARRANTIES AS TO PERFORMANCE OF MERCHANTABILITY OR ANY OTHER
  36.        WARRANTIES WHETHER EXPRESSED OR IMPLIED.  BECAUSE OF THE VARIOUS
  37.        HARDWARE AND SOFTWARE ENVIRONMENTS INTO WHICH THIS PROGRAM MAY BE
  38.        PUT, NO WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE IS OFFERED AND
  39.        ALL LIABILITY IN THE USE AND AFFECTS OF THIS PROGRAM SHALL REST
  40.        WITH THE USER.
  41.  
  42.        THIS PROGRAM HAS THE ABILITY TO ALTER YOUR FILES! YOU ARE
  43.        RESPONSIBLE!   (Sorry, but I have to warn you ...)
  44.  
  45.  
  46.  
  47.  
  48.  
  49.         ≡■≡ Introduction
  50.  
  51.  
  52.  
  53.                 heXEdit (XE) is a program that will allow you to
  54.         display and/or edit any file. It has few and simple commands
  55.         but serves my purposes perfectly. I wrote this program because
  56.         I became frustrated with a couple of other commercial programs.
  57.         They either had some annoying peculiarities or required too
  58.         much thought on my part just to search for and change a couple
  59.         of bytes.
  60.  
  61.                 heXEdit was written using Turbo Pascal v6.0, although
  62.         it doesn't use any of Borland's object libraries. It does
  63.         however write directly to the screen for speed when scrolling
  64.         thru the file. If you're using a CGA monitor you may see some
  65.         'snow' as I don't check for the vertical retrace period to
  66.         write to the screen.
  67.  
  68.                 heXEdit will keep no more than 1760 bytes of the file
  69.         in memory at a time, as I didn't feel like messing with a
  70.         variable amount of memory available. heXEdit requires about
  71.         106k bytes of free memory in order to execute.
  72.  
  73.  
  74.  
  75.         ≡■≡ Using heXEdit
  76.  
  77.  
  78.                 To start heXEdit, enter
  79.  
  80.                 XE [drive | filename]
  81.  
  82.  
  83.                 The drive designator and filename are optional on the
  84.         command line. If only a drive letter is specified XE will
  85.         change your current directory to that drive and show you the
  86.         files from the root directory of that drive. If a file is
  87.         specified XE will try to load that file, if not, the Loadfile
  88.         box will appear with a list of files in the current directory.
  89.  
  90.                 When heXEdit starts it looks for a configuration file
  91.         that defines the colors to be used. The name of the file is
  92.         'XE.CFG'. XE first looks in the current directory for the file.
  93.         If it doesn't find it there it checks the environment for a
  94.         variable named 'XE' and looks in the path specified by that
  95.         variable. (See your DOS manual for an explanation of
  96.         environment variables). If XE doesn't find it there it then
  97.         looks in the directory that XE.EXE is in.
  98.  
  99.                 The environment variable 'XE' can be set by using the
  100.         DOS SET command. You should include the full path, just so
  101.         there is no confusion as to what drive the file is on. For
  102.         example :
  103.  
  104.                 SET XE=C:\UTIL\
  105.  
  106.         Also, the last back-slash character should be included as I
  107.         just append the filename to the path you specify. If you do
  108.         use an environment variable but XE can't find the file there,
  109.         it will look in the same directory that XE.EXE is in. If you
  110.         don't use the configuration file in the first place, XE will
  111.         use a default set of colors.
  112.  
  113.  
  114.                 With the Loadfile box you can use the Up/Down arrow
  115.         keys, PgUp/PgDn and the Home/End keys to move the highlight bar
  116.         to the file you want to load.  The Up/Down arrow keys will
  117.         move the bar one file at a time.  PgUp/PgDn move the bar a page
  118.         at a time, and Home/End will move the bar to the beginning/end
  119.         of the list of files.
  120.  
  121.                 With the highlight bar over the file you want to load,
  122.         just hit <ENTER> to load the file.
  123.  
  124.  
  125.                 While using the Loadfile box, you may encounter an
  126.         error, for one reason or another. Generally speaking, you will
  127.         be given one, some or all of the options below :
  128.  
  129.         Option 1 - (A)bort : if you press 'A' XE will abort the
  130.         operation.
  131.  
  132.         Option 2 - (R)etry : press 'R' to retry the operation. (Maybe
  133.         the drive door was opened before you hit <ENTER> to load the
  134.         file.)
  135.  
  136.         Option 3 - (Q)uit XE : press 'Q' to quit XE and return to the
  137.         DOS prompt (or wherever it was that you came from).
  138.  
  139.         Option 4 - Any other key : if you hit any other key than the
  140.         ones described above you will be returned to the Loadfile box.
  141.  
  142.                 While in the Loadfile box, hitting <ESC> will exit the
  143.         Loadfile box and either 1) return you to the last file you were
  144.         editing, or if no file was previously loaded 2) exit XE altogether.
  145.  
  146.                 One last feature of the Loadfile box is that you can change
  147.         the attributes of a file simply by hitting F5-F8 (providing the
  148.         file is available; i.e., the disk is in the drive etc.) Move
  149.         the highlight bar to file you want to work with and then simply
  150.         hit one of the following, depending on what you want to do.
  151.  
  152.                 F5 - toggles the Archive bit
  153.                 F6 - toggles the System bit
  154.                 F7 - toggles the Hidden bit
  155.                 F8 - toggles the Read_Only bit
  156.  
  157.         If the attribute change was successful you will hear a high
  158.         pitch tone otherwise you will hear a lower tone indicating that
  159.         the attribute could not be changed for one reason or another.
  160.         You should also see the attribute change in the Loadfile box.
  161.  
  162.         *** Note *** Be sure you know what affect changing an attribute
  163.         will have on your system. Some programs act on the attributes
  164.         of a file or may even require certain attributes to be set.
  165.  
  166.  
  167.                 Once the file is loaded you will see the main display.
  168.         At the top is the name of the file loaded. On the left side of the
  169.         display are numbers (in hexadecimal,decimal or octal) indicating
  170.         the offset into the file. In the middle are 22 rows of 16 bytes
  171.         each which are the file's contents. On the right, the ASCII
  172.         character for each byte in that row. In the ASCII portion of the
  173.         display, any characters past the EOF are shown as a '.' (#249).
  174.         On the bottom is a status word indicating your current operation,
  175.         a three letter abbrev indicating whether the offset display is in
  176.         'hex'adecimal, 'dec'imal, or 'oct'al, the percentage into the file
  177.         from the top line, and the size of the file in decimal.
  178.  
  179.  
  180.  
  181.         ≡■≡ Commands
  182.  
  183.  
  184.  
  185.         Following is a list of commands once you are in XE and then a
  186.         brief explanation of each :
  187.  
  188.  
  189.         F1- Help
  190.         A - ASCII table
  191.         B - Base conversion (decimal-hexadecimal-binary)
  192.         C - Change colors
  193.         D - Change offset display to Decimal
  194.         E - Edit the file
  195.         G - Goto offset
  196.         H - Change offset display to Hexadecimal
  197.         L - Bring up the Loadfile box
  198.         M - Push position on marker stack
  199.         N - Search again (using the last used search string)
  200.         O - Change offset display to Octal
  201.         R - Retrieve position from marker stack
  202.         S - Search (for text or a byte string)
  203.         Z - Clear all entries from marker stack
  204.  
  205.         Up/Down arrow keys - scroll up and down one line at a time
  206.         PgDn/PgUp          - move up/down one page at a time
  207.         Home               - move the beginning of the file
  208.         End                - move to the end of the file
  209.         ESC/Alt+X          - quit XE
  210.  
  211.  
  212.  
  213.         ■-- F1: Get help.
  214.  
  215.                 Help commands :
  216.                 - F1 : Help on Help
  217.                 - F2 : An index (keywords) for items in the help file
  218.                 - F3 : Goto the previous screen
  219.                 - F5 : Zoom/Unzoom the help screen
  220.  
  221.                 - Enter : Get help on a highlighted keyword
  222.                 - ESC   : Exits help
  223.  
  224.                 - Tab / Shft+Tab : Highlight the next/previous visible
  225.                                    keyword
  226.  
  227.                 - Arrow keys : Scroll the help screen contents left,
  228.                                right, up and down
  229.  
  230.                 - Page Up/Down : Move up and down a page at a time
  231.  
  232.                 - Home/End : Goto the beginning/end of the help info for
  233.                              the current item
  234.  
  235.  
  236.                 In the upper left corner of the help screen (in the
  237.                 border), you may see a number and possibly one of three
  238.                 arrow characters.
  239.  
  240.                 The number is the left column, of the help info, you
  241.                 are at. If you are at column one, it will not be
  242.                 displayed.
  243.  
  244.                 The arrow characters indicate if there is more info
  245.                 either above or below (or both) of your position.
  246.  
  247.  
  248.                 A couple of notes on the help file.
  249.  
  250.                 1. heXEdit expects the help file (XE.HLP) to be in the
  251.                 directory that XE.EXE is in. If it is not, you will
  252.                 get an error message when you invoke help.
  253.  
  254.                 2. If you modify the help file, make sure your keywords
  255.                 are capitalized and start in column one. It will
  256.                 probably be easier to just look at the help file that
  257.                 came with heXEdit to see how it's done.
  258.  
  259.                 3. There is a limit of 75 lines of information per
  260.                 keyword.
  261.  
  262.                 4. Keyword information begins with it's keyword and
  263.                 ends with a slash (#47).
  264.  
  265.                 5. To create a keyword in a help screen, precede the
  266.                 keyword with a tilde (#126) and end it with a
  267.                 back-quote (#96).
  268.  
  269.  
  270.         ■-- A : This displays an ASCII chart.
  271.  
  272.                 ASCII chart commands :
  273.                 - Left arrow key  : go back 16 characters
  274.                 - Right arrow key : go forward 16 characters
  275.                 - PageUp          : go back 128 characters
  276.                 - PageDown        : go forward 128 characters
  277.                 - D               : display numbers in decimal
  278.                 - H               : display numbers in hexadecimal
  279.                 - ESC or Enter    : exits ASCII chart
  280.  
  281.  
  282.         ■-- B : Convert a number from either decimal, hexadecimal or
  283.                 binary to the other two.
  284.  
  285.                 Base convert commands :
  286.                 - Up/Down arrow keys : select the base of the input
  287.                                        number
  288.                 - Enter              : convert the number
  289.                 - ESC                : exit the base convert routine
  290.  
  291.                 Using the arrow keys, move the highlight bar to the
  292.                 base of the input number and then either 1) hit Enter
  293.                 and enter the number or 2) just start typing the
  294.                 number. After the number has been converted, hit any
  295.                 key to select the base for another conversion or hit
  296.                 ESC to exit.
  297.  
  298.                 When you enter the number, I only check for validity
  299.                 with the first character. If you try to convert an
  300.                 invalid number an error message will be displayed. The
  301.                 largest number that can be accurately converted is a 32
  302.                 bit number. It has a very simple input routine, so
  303.                 don't be surprised if you can enter an invalid number.
  304.                 The conversion will be incorrect of course. I leave
  305.                 it mostly up to you to enter a valid number.
  306.  
  307.  
  308.         ■-- C : This command will allow you to change the color of just
  309.                 about anything. Of course, if you're using a monochrome
  310.                 monitor this command will do nothing. You can also save
  311.                 a color configuration file if you like, so that XE will
  312.                 startup with the colors you like.
  313.  
  314.                 I didn't do anything fancy here. Simply select the area
  315.                 you want to change the color in by hitting a letter 'A'
  316.                 thru 'W' (with the exception of 'S'), or '1-7'. Then
  317.                 enter the number corresponding to the color you want.
  318.  
  319.                 Color change commands:
  320.                 - F1        : get help
  321.                 - A-W, 1-7  : select the area you want to change
  322.                               (except 'S')
  323.                 - ESC/Enter : exit the color change screen
  324.                 - S : save a configuration file with the currently
  325.                       selected colors
  326.  
  327.                       This command will save a file named 'XE.CFG'
  328.                       that defines the colors for XE to use. The file
  329.                       is saved in the same place it was found. If
  330.                       this is the first time this file has existed,
  331.                       it will be saved in the current directory.
  332.  
  333.                       This configuration file is not compatible with
  334.                       previous versions. You will need to delete the 
  335.                       previous version .CFG file or you will get a 
  336.                       run-time error.
  337.  
  338.                 If you want the default colors back, simply delete the
  339.                 configuration file and the next time you start XE
  340.                 you'll have the default colors.
  341.  
  342.  
  343.         ■-- D : Change the offset display to base 10, decimal.
  344.  
  345.  
  346.         ■-- E : Begin editing the file at the current position. If the
  347.                 file is a READ ONLY file, a short message to that
  348.                 affect will appear and you will be returned to the view
  349.                 mode. Of course, you could just hit 'L' to bring up the
  350.                 Loadfile box and change the READ ONLY attribute of the
  351.                 file with F8. And then go back and edit. But, it might
  352.                 be READ ONLY for a reason ...
  353.  
  354.                 Edit commands :
  355.                 - F1              : get help
  356.                 - Alt+A           : displays the ASCII chart
  357.                                     same thing as 'A' when just viewing
  358.                 - Alt+B           : base number conversion
  359.                                     same thing as 'B' when just viewing
  360.  
  361.                 - BackSpace/Left arrow key  : move cursor left 1 byte
  362.                 - Right arrow key : move cursor right 1 byte
  363.                 - PageUp          : move cursor to first line on page
  364.                 - PageDown        : move cursor to last line on page
  365.                 - Home            : move cursor to beginning of line
  366.                 - End             : move cursor to end of line
  367.  
  368.                 - TAB : toggle cursor position between the hexadecimal
  369.                         display and the ASCII display of the file. The
  370.                         above editing commands will move the cursor within
  371.                         the area the cursor is in.  You can edit the
  372.                         file making changes in both areas at the same
  373.                         time, if so desired.
  374.  
  375.                 - ESC/Enter       :  quit editing. If you made changes you
  376.                         will be prompted to save the changes or not.  Hit
  377.                         'Y' to save the changes or 'N' to lose the changes.
  378.                         Only the portion of the file that is in memory is
  379.                         actually saved. So don't worry about waiting
  380.                         for a long save if you are editing a large file.
  381.                         You are then returned to the View mode.
  382.  
  383.                 To change a value when in the hexadecimal portion, just
  384.                 type in it's new value. The background of the character
  385.                 will change, indicating which bytes have been changed.
  386.                 Valid values are '00' - 'FF'. Obviously, hitting a key
  387.                 like 'P' will do nothing because 'P' is not a valid
  388.                 hexadecimal character. A special note, once you change
  389.                 the left half of the byte, you must continue and change
  390.                 the right half also.
  391.  
  392.                 To change a value when in the ASCII portion of the
  393.                 display, simply hit the key of the new value. Or,
  394.                 hold down the ALT key while typing the ASCII code
  395.                 of the character you want, then release the ALT
  396.                 key. Using the ALT key in this area, you can
  397.                 enter a value from 32-255. Again, the background will
  398.                 change indicating a change.
  399.  
  400.                 Note - When in edit mode you will be able to change the
  401.                 characters after the EOF. It will look like you are
  402.                 changing the file but in reality nothing will be
  403.                 changed. You cannot increase the size of the file,
  404.                 only change what already exists.  (A small price
  405.                 to pay for making the coding easier on me!)
  406.  
  407.  
  408.         ■-- G : Goto an offset in the file.
  409.  
  410.                 You are prompted for an offset to go to. You can enter
  411.                 either a decimal number or a hexadecimal number. If you
  412.                 hit ESC while entering a number you will be placed back
  413.                 in the View mode with no repositioning taking place.
  414.                 The BACKSPACE key can be used to edit your entry. If
  415.                 you enter an offset that is beyond the End-Of-File
  416.                 (or < 0) you will be prompted again for a number.
  417.  
  418.                 To enter a decimal number just type in the number, no
  419.                 commas, and hit ENTER.
  420.  
  421.                 To enter a hexadecimal number, type a '$' as the first
  422.                 character and then continue entering the hex number.
  423.  
  424.                 Also, if at anytime while entering a number, you enter
  425.                 an 'A' through 'F' a '$' will be inserted into your
  426.                 number at the beginning and your entry will be taken as
  427.                 a hexadecimal number. For example:
  428.  
  429.                         Keystroke               Screen
  430.                         3                       3
  431.                         5                       35
  432.                         1                       351
  433.                         E                       $351E
  434.                         etc ...
  435.  
  436.  
  437.         ■-- H : Change the offset display to base 16, hexadecimal.
  438.  
  439.  
  440.         ■-- L : Load a new file. You will enter the Loadfile box in
  441.                 order to select a new file (as described earlier in
  442.                 this document under   ≡■≡ Using heXEdit).
  443.  
  444.                 Since you can't leave the edit mode without either
  445.                 saving any changes or losing changes, you needn't worry
  446.                 about saving the current file before loading a new one.
  447.  
  448.  
  449.         ■-- M : Push position on marker stack.
  450.  
  451.                 Your current position in the file can be saved with
  452.                 this command and then be retrieved later on.
  453.  
  454.                 Your position is saved on a stack. If the stack is full
  455.                 the oldest position will be deleted and the rest of the
  456.                 entries will move down the stack to make room for the
  457.                 new entry. The maximum number of positions you can save
  458.                 is 100. Also, when your position is saved, it's location
  459.                 on the stack is reported to you so you can see how full
  460.                 the marker stack is.
  461.  
  462.                 This command can also be used while searching. If the
  463.                 search string is found, you can hit 'M' to save that
  464.                 position on the marker stack and then continue searching.
  465.  
  466.  
  467.         ■-- N : Search again using the last used search string. If
  468.                 there is no previous search string, you will be
  469.                 prompted, as if you hit 'S', to enter a search string.
  470.  
  471.  
  472.         ■-- O : Change the offset display to base 8, octal.
  473.  
  474.  
  475.         ■-- R : Goto (retrieve) position using the top marker stack
  476.                 entry.
  477.  
  478.                 While viewing the file, if you hit this command you
  479.                 will be moved to the location specified by the top
  480.                 marker stack entry. Once you have been moved to the new
  481.                 location, the entry you retrieved will be deleted
  482.                 from the marker stack. If there are no markers on the
  483.                 stack, then nothing will happen.
  484.  
  485.  
  486.         ■-- S : Search the file for a byte or text sequence.
  487.  
  488.                 You will be prompted for the type of search (B)yte or
  489.                 (T)ext.
  490.  
  491.                 For a byte sequence, enter the bytes in hexadecimal
  492.                 notation then hit Enter.  As with editing, you must
  493.                 enter a complete byte, for the search to work
  494.                 correctly, although I don't check for that here.  You
  495.                 can use the backspace key to go back and make
  496.                 corrections.  The maximum length for a byte sequence is
  497.                 9 bytes. I think that is plenty long enough, even 4
  498.                 bytes would probably be enough to find what you're
  499.                 looking for. For example, you might see this prompt :
  500.  
  501.                   Enter search bytes :
  502.  
  503.                 Now you would just hit the numbers that make up the
  504.                 bytes you want to search for, like :
  505.  
  506.                   D3 45 FF 00 C4 6E
  507.  
  508.                 There is no need to enter a space between each byte as
  509.                 I do that for you while you're entering your bytes.
  510.  
  511.                 For a text sequence, just type in the text to search
  512.                 for, no quotes are needed, and hit Enter. The maximum
  513.                 length for a text sequence is 25 characters. And a
  514.                 change from my earlier versions, the search is now case
  515.                 insensitive.
  516.  
  517.                 If the search string is found, the display will move to
  518.                 that string's location in the file and will be high-
  519.                 lighted at the top of the screen. You can now hit any
  520.                 key to continue the search, hit 'M' to Mark the
  521.                 position or hit ESC to stop searching.
  522.  
  523.                 Just to make things simple for myself, every search
  524.                 starts at the beginning of the file. Even on large
  525.                 files, starting at the beginning to find something you
  526.                 know is near the end doesn't take very long at all (at
  527.                 least not on my 16 Mhz 386sx!)
  528.  
  529.  
  530.         ■-- Z : Clear all entries from marker stack
  531.  
  532.                 This command will delete all entries from the marker
  533.                 stack. Careful, there is no turning back from the
  534.                 results of this command.
  535.  
  536.  
  537.  
  538.         ≡■≡ Comments
  539.  
  540.  
  541.         I would strongly suggest that you make a backup copy of the
  542.         file you're going to modify, just in case you decide later
  543.         you want the original file back. You should have a backup copy
  544.         anyway as a matter of safeguarding your files in case of
  545.         catastrophe.
  546.  
  547.         I have a 16Mhz 386sx AT running MS-DOS 5.0. XE should work
  548.         with most system configurations though. It does not support
  549.         any video modes other than 80x25 text and will work with a
  550.         monochrome monitor.
  551.  
  552.         Also, I don't expect any payment for use of this program. Feel
  553.         FREE to use it how you like, but be careful :).
  554.  
  555.         I would like to hear any comments or complaints you might
  556.         have about this program. I can be reached on GEnie under
  557.         R.STUNTZ, or on The Chicago Megaphile BBS (312 283-4035) under
  558.         ROB STUNTZ. Or if you prefer, the good ole' U.S. Postal
  559.         Service.
  560.  
  561.  
  562.         Rob
  563.  
  564.  
  565.  
  566.         ≡■≡ Version History
  567.  
  568.             v1.0  4-8-91  - Initial writing
  569.             v1.1  5-16-91 - Minor internal changes
  570.             v1.2  7-4-91  - added Marker commands
  571.             v1.21 8-3-91  - increased marker stack size to 100
  572.                             added Z command; clear marker stack
  573.             v1.3  8-12-91 - added Goto Offset command
  574.                             fixed a bug or two
  575.             v2.0  9-25-91 - added Loadfile box (instead of typing in
  576.                               the filename)
  577.                             set to video page 0 at startup
  578.                               (this was done in case you shell out from
  579.                               another program and that program puts you
  580.                               in a video page other than 0, like Turbo
  581.                               Debugger. XE needs to be in video page
  582.                               0.  XE returns to the video page you
  583.                               where at before it started when you exit)
  584.                             added backspace key use while editing (acts
  585.                               like left arrow key)
  586.                             added 'D', 'H' and 'O' commands while viewing
  587.                             changed Help command to 'F1' from 'H'
  588.                             made Search command case insensitive
  589.                             added ability to enter a drive designator
  590.                               on cmd line to start Loadfile box on that drive
  591.                             and of course fixed some bugs ...
  592.             v2.1 10-19-91 - decided I better try and trap most of the
  593.                               I/O, as opposed to only some, for errors,
  594.                               to avoid a possible run-time error
  595.                             allow loading of read-only files
  596.                             allow entry of ASCII chars 32-255 when
  597.                               editing in ASCII portion of display
  598.                               (formerly 32-126)
  599.                             check for and handle extremely long path names
  600.                               in display
  601.                             swapped ability to change Help screen color
  602.                               with Base convert
  603.                             search command now highlights found text,
  604.                               (no flashing arrow!)
  605.                             hidden files (and directories) are lowercase
  606.                               in Loadfile box
  607.                             and the usual bug fixes ...
  608.             v2.11 10-21-91- fixed base convert color saving and loading
  609.                               from cfg file
  610.             v3.0  11-11-91- fixed pagedown problem of going past EOF on
  611.                               display for files with a length approaching
  612.                               that of the buffer size.
  613.                             added '%' into file indicator
  614.                             you can now call up the ascii chart and
  615.                               base convert from edit mode with
  616.                               Alt+A, Alt+B
  617.                             in edit mode, Pg Up/Dn now just goto first/
  618.                               last line. column position is not changed.
  619.                             totally new help system  (yea!)
  620.  
  621.  
  622.         ≡■≡
  623.  
  624.         'Turbo Pascal' and 'Turbo Debugger' are registered trademarks
  625.         of Borland International, Inc.
  626.  
  627.